# Demonstration script for JACOsub subtitle playing software.
# This script demonstrates the flexibility of the JACOsub file format,
# going through nearly all of the features available. Don't be alarmed
# by the size; this script consists mostly of comments.
# The JACOsub script player itself is compatible with TurboTitle and
# Arizona Anime Society scripts; however, if you want to use some of the
# more advanced features, like italics, color control, and text
# positioning, you need to use the jconvert utility to convert your
# script to JACOsub format. Jconvert will also convert Panimator scripts.
# Now let's begin. All the directives demonstrated in this script are
# shown in UPPERCASE the first time they are used.
# First, let's set up some defaults. Time units default to SMPTE
# (1/30 second) units. We'll use 1/100 seconds because it's simpler to
# understand for now.
#T100 (this sets time units to 1/100 second)
#R2.2 (lengthen total playing duration by 2.20 seconds)
# set font 3 for use in the very last screen, where we demonstrate
# outlining and shadowing of mono-color fonts. JACOsub.font 24 is a
# mono-color font which JACOsub uses for its running clock display.
#F 3 JACOsub.font 24 quick&dirty
# Let's change a default colors while we're at it....
#P1 0 14 14 (set color palette 1 to cyan - for "slow" text)
# Just for the fun of it, let's load in an IFF file
# to serve as a backdrop for the first title.
0:00:00.00 0:00.09.00 IL JACO.bbm 0 0 {logo will be centered on the screen}
# Now, show an introductory title centered on the screen for 4 seconds.
# This line demonstrates the newline escape character, or manual
# wordwrap. The new substrings created will also be word-wrapped
# automatically if they don't fit within the default width limits.
# You can always turn wordwrapping off for a line with the W0 directive.
0:00:00.00 0:00:04.00 VM JACOsub\n\nThis script demonstrates some of the capabilities of JACOsub.
# The next 3 lines demonstrate vertical positioning and overlapping time
# ranges. Notice how the times for each of the lines are set. All three
# lines are present on the screen only between times 5.33 and 6.33.
0:00:04.00 0:00:06.33 VT Text may be positioned at the top,
0:00:04.66 0:00:06.66 vm middle,
0:00:05.33 0:00:06.99 VB or bottom of the screen.
# The next line shows how you can insert comments inside the text. This
# is useful for making notes about translations and character names when
# subtitling foreign films.
0:00:07.40 0:00:10.90 vm {this is a comment} (And, you can see, {another comment} timing ranges for different lines of text \Iand\N graphics may overlap.)
# demonstrate that graphics can also be overlapped in time.
0:00:9.50 0:00:12.60 il JACO.bbm 25 25 {place logo lower right}
# Now we demonstrate left/right/center justification
0:00:11.00 0:00:13.50 JL Within margin constraints\nthat you set, text may be\nleft justified,
0:00:13.50 0:00:14.75 JC {the JC is reduntant - it's the default} center justified,
0:00:14.75 0:00:16.00 JR and also\nright justified.
# Here we show what you can do with margin settings. The first line
# sets the right margin to 33% of the screen (left margin is at 1%), and
# the second line sets the left margin at 50% of the screen (right
# margin is at 99%). We also demonstrate two fonts on the same screen.
0:00:15.60 0:00:22.00 vtHR33 You can, for example, set your margins so that text is confined to the left 1/3 of the screen.
0:00:17.50 0:00:22.00 vbHL50F1 And you can place other text (with a different font, even!) elsewhere by setting different margins for it.
# Now we demonstrate different text styles and colors. Notice here we
# use the VL directive to position the text on different lines.
0:00:22.30 0:00:28.01 VL3 You may have different text styles\n(Normal, \BBold, \IItalic\N)
0:00:22.30 0:00:28.01 vl5 and different \C1colors
# Notice here the default text color has been
# changed to 1 and restored to 3 inside the text.
0:00:24.00 0:00:28.01 CF1vl7 all \C3mixed \C1\Itogether!
# Here's a trick. We will rapidly cycle through some blank screens
# so that the current display will "catch up" to the background display
# buffer being generated. We use color 1 text here, which is slow.
0:00:28.01 0:00:28.02 D ~
0:00:28.02 0:00:28.03 D ~
0:00:28.03 0:00:28.04 D ~
0:00:28.04 0:00:28.05 D ~
# Just for fun, let's define directive D2 as CF1VM to use in the next line.
#d2 cf1vm
0:00:28.05 0:00:32.00 D2 Here the display was intentionally ``caught up'' to the background generation, to show how slowly color 1 text is generated in the background.
# Now explain to the user why this happened. Here we also demonstrate
# three things: The first title after this comment demonstrates the
# JB (Justify Block) directive. Text is left-justified, but it is not
# positioned flush with the left margin - the block of text is centered
# on the screen but the first character of each line are flush left.
# In other words, the JL means "left justify" but JBC means "center block."
# The next title demonstrates the VU directive to show how you can
# continue a long line of text underneath previous ones.
# The VU line also demonstrates background shading.
0:00:32.30 0:00:43.00 d2jlJBC You will see that sort of foreground generation if you use a lot of ``slow'' color 1 text.\n\C3(Color 3 text is very fast.)
0:00:32.30 0:00:43.00 VUcf1CS8 \n\nPlan your timings so the display won't catch up to the view being generated in the background.
# Demonstrate backgrounds that are opaque to the genlock, by specifying
# a text background color. This will clear the whole screen to that
# color before any text is drawn on it, and before any IFF files are
# overlaid onto it.
0:00:43.00 0:00:50.00 CB1vm You can change the screen background color, too.\n\nThis is useful if you want to make an opaque screen when using a genlock.
# Demonstrate the #Include command.
#I 0:00:50.00 idemo # include another script, offset by 50 seconds
# Outlining and shadowing. The first and second lines show outlining
# a mono-color font. The third line demonstrates font shadow generation
# The shadow extends to the southwest (lower left). The fourth line
# demonstrates both outlining and shadowing (to the southeast). We use
# font 3 for all these 4 lines (font 3 was set to JACOsub.font 24 in the
# beginning of this script).
0:00:58.00 0:01:05.00 FO2f3vm JACOsub can also generate outlines of any thickness around normal mono-colored fonts,
0:00:58.00 0:01:05.00 fo3f3vu as you can see here.
0:00:58.00 0:01:05.00 FSSW4f3vu \nAlso, dropshadows in any of 8 directions are possible,
0:00:58.00 0:01:05.00 fsSE3fo2f3vu \nand outlines and shadows may be combined!
0:01:05.00 0:01:10.00 vm OK, this script will be finished when the screen goes blank.
0:01:05.00 0:01:10.00 vu \n\nAt that time, you may press any key to return to the Main Menu.
# You probably noticed that most of the lines above used the VM (Vertical
# Middle) directive. We could have made this the default, by specifying
# the global command #DVM near the beginning of the file. Then we
# wouldn't have had to specify VM on each line, but we would have had to
# specify VB (the former default) for those lines positioned at the bottom